When a personal computer is turned on, a basic input-output system (BIOS) that is stored in non-volatile solid state memory of the computer is invoked to begin what is known as a “boot” process, in which various initialization chores are undertaken. Among the most important of these chores is the copying of an operating system from disk storage of the computer over into a solid state memory of the computer, for execution of the operating system by the processor of the computer when the computer is being used. When the computer is turned off or when it is “re-booted”, the operating system is flushed from the memory. By executing the operating system from the relatively fast memory instead of from the disk, computer operations are accelerated.
Recognizing that activities such as recovery operations and password reset may from time to time be required prior to completing the booting of the O.S. into memory, provisions have been made to allow a user to enter special modes during booting by, e.g., depressing a special purpose key such as the F11 button, which, prior to completion of the boot, assumes the function of causing the computer to enter a special mode. In the special mode various programs may be invoked including, for instance, a limited operating system, referred to as a “secure operating system” and also sometimes referred to in the art as a service O.S. The limited operating system is useful for undertaking limited, “safe” tasks such as password reset, etc.
As understood herein, many current HDDs have hidden protected areas (HPA), typically at the beginning or end of the disk, in which certain data is stored. For example, a HPA can contain a compressed image of the main operating system that is located elsewhere on the disk, so that the user is given the opportunity to recover the main operating system using the compressed version in the HPA in the event that, for instance, the main O.S. becomes corrupted with a virus. The compressed version of the O.S. may be an initial O.S. version or a backup version of the user's computing environment, but in any case it resides in the HPA. When the special key (e.g., F11) is depressed during booting, the user is given access to the HPA for booting the service OS and, thus, gaining access to a backup of the user's OS in a compressed image.
The present invention critically recognizes that if the master boot record (MBR) of the HDD, which contains both executable code and certain disk locations including the disk location of the HPA, is removed, replaced, or corrupted through user error or virus attacks, the HPA is effectively rendered useless. Accordingly, the present invention recognizes a need to protect the HPA during normal operations so that, for instance, if a virus attaches to the executing O.S. and has the purpose of maliciously tampering with the MBR, the HPA remains protected, so that subsequent recovery from the virus using the compressed O.S. in the HPA remains viable. Nonetheless, as discussed above the HPA must be accessible during boot so that its content are available as needed by the user.